package com.smart.community.commons.dto;

import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;
import java.util.Date;

@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class ApiLogDTO implements Serializable {
    private static final long serialVersionUID = 1L;
    
    private Long id;
    private Integer logLevel; // 日志级别：1-DEBUG，2-INFO，3-WARN，4-ERROR
    private String logTitle;  // 日志标题
    private Integer logType;  // 日志类型：1-系统日志，2-操作日志，3-错误日志，4-安全日志
    private String moduleName; // 模块名称
    private String operationName; // 操作名称
    private String operationDesc; // 操作描述
    private String requestUrl; // 请求URL
    private String requestMethod; // 请求方法
    private String requestParams; // 请求参数
    private String responseData; // 响应数据
    private String responseResult; // 响应结果
    private Long userId; // 操作用户ID
    private String username; // 用户名
    private String userType; // 用户类型
    private String ipAddress; // IP地址
    private String userAgent; // 用户代理
    private Integer executionTime; // 执行时间(毫秒)
    private String errorMessage; // 错误信息
    private String stackTrace; // 堆栈信息
    private Date logTime; // 日志时间
    private Integer status; // 状态
    private Date createTime; // 创建时间
    private String logContent; // 日志内容
    private String operator; // 操作人
    private Date operationTime; // 操作时间
    private Long createBy; // 创建人
}
